#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <string>
#include <cctype>
#include <cstdlib>
#include <map>
#include <ctime>
#include <vector>
#include <queue>
#define debuglog(x) cerr<<"\tdebug:"<<#x<<endl
#define debug(x) cerr<<"\tdebug:"<<#x<<"="<<(x)<<endl
#define debugg(x,y) cerr<<"\tdebug:"<<(x)<<":"<<#y<<"="<<(y)<<endl
#define debugzu(x,a,b) 	cerr<<"\tdebug:"<<#x<<"=\n\t";for(int i=a;i<b;i++)cerr<<x[i]<<" ";fprintf(stderr,"\n");
#define debugerzu(x,a,b,c,d) 	cerr<<"\tdebug:"<<#x<<"=\n\t";for(int i=a;i<b;i++,fprintf(stderr,"\n\t"))for(int j=c;j<d;j++)cerr<<x[i][j]<<" ";fprintf(stderr,"\n");
#define R register
#define L long
#define LL long long
#define I inline
#define U unsigned
#define START clock_t __start=clock();
#define STOP fprintf(stderr,"\n\nUse Time:%fs\n",((double)(clock()-__start)/CLOCKS_PER_SEC));
using namespace std;
I LL read()
{
	R LL x;R bool f;R char c;
	for (f=0; (c=getchar())<'0'||c>'9'; f=c=='-');
	for (x=c-'0'; (c=getchar())>='0'&&c<='9'; x=(x<<3)+(x<<1)+c-'0');
	return f?-x:x;
}
typedef struct
{
    char name[100];
    double p;
}book;
book rrread()
{
    book a;
    int l=0;
    scanf("\n");
    while((a.name[l]=getchar())!='\n')++l;
    a.name[l]=0;
    scanf("%lf",&a.p);
    return a;
}
int main()
{
// 	freopen("7-1.in","r",stdin);
// 	freopen("7-1.out","w",stdout);
    int n=read();
    if(n!=0)
    {
        book maxx,minn;
        maxx=minn=rrread();
        for(int i=1;i<n;++i)
        {
            book tmp=rrread();
            if(tmp.p>maxx.p)maxx=tmp;
            if(tmp.p<minn.p)minn=tmp;
        }
        printf("%.2lf, %s\n",maxx.p,maxx.name);
        printf("%.2lf, %s",minn.p,minn.name);
    }

    
	fclose(stdin);
	fclose(stdout);
 	return 0;
}
